﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data;
using System.Data.SqlClient;

/// <summary>
/// Summary description for Outsourcing
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
// [System.Web.Script.Services.ScriptService]
public class Outsourcing : System.Web.Services.WebService
{

    public Outsourcing()
    {

        //Uncomment the following line if using designed components 
        //InitializeComponent(); 
    }

    [WebMethod]
    public string HelloWorld()
    {
        return "Hello World";
    }
    [WebMethod(Description = "Metodo que se utiliza para Actualizar,Borrar e Insertar en la Tabla Contratos")]
    public void DatoContratos(DataSet ds)
    {
        SqlDataAdapter da = new SqlDataAdapter();
        SqlCommand cmdUpdate = new SqlCommand();
        SqlCommand cmdInsert = new SqlCommand();
        SqlCommand cmdDelete = new SqlCommand();
        SqlConnection cn = new SqlConnection();
        cn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CN"].ConnectionString;
        cn.Open();



        //Seccion para actualizacion
        cmdUpdate.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdUpdate.Parameters.Add("@IdContratos", SqlDbType.Int, 4, "IdContratos");
        cmdUpdate.Parameters.Add("@Cargo", SqlDbType.VarChar, 30, "Cargo");
        cmdUpdate.Parameters.Add("@TipoTrabajo", SqlDbType.VarChar, 80, "TipoTrabajo");
        cmdUpdate.Parameters.Add("@CodigoContrato", SqlDbType.Char, 25, "CodigoContrato");
        cmdUpdate.Parameters.Add("@MontoContrato", SqlDbType.VarChar, 25, "MontoContrato");
        cmdUpdate.Parameters.Add("@FechaInicio", SqlDbType.VarChar, 8, "FechaInicio");
        cmdUpdate.Parameters.Add("@FechaFinal", SqlDbType.VarChar, 8, "FechaFinal");
        cmdUpdate.Parameters.Add("@IdOutsourcing", SqlDbType.Int, 4, "IdOutsourcing");
        cmdUpdate.Parameters.Add("@IdTiposContrato", SqlDbType.Int, 4, "IdTiposContrato");

        cmdUpdate.CommandType = CommandType.StoredProcedure;
        cmdUpdate.CommandText = "UPDATECONTRATO";

        da.UpdateCommand = cmdUpdate;

        //Seccion para agregar 
        cmdInsert.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdInsert.Parameters.Add("@IdContratos", SqlDbType.Int, 4, "IdContratos");
        cmdInsert.Parameters.Add("@Cargo", SqlDbType.VarChar, 30, "Cargo");
        cmdInsert.Parameters.Add("@TipoTrabajo", SqlDbType.VarChar, 80, "TipoTrabajo");
        cmdInsert.Parameters.Add("@CodigoContrato", SqlDbType.Int, 10, "CodigoContrato");
        cmdInsert.Parameters.Add("@MontoContrato", SqlDbType.Float, 4, "MontoContrato");
        cmdInsert.Parameters.Add("@FechaInicio", SqlDbType.VarChar, 8, "FechaInicio");
        cmdInsert.Parameters.Add("@FechaFinal", SqlDbType.VarChar, 8, "FechaFinal");
        cmdInsert.Parameters.Add("@IdOutsourcing", SqlDbType.Int, 4, "IdOutsourcing");
        cmdInsert.Parameters.Add("@IdTiposContrato", SqlDbType.Int, 4, "IdTiposContrato");

        cmdInsert.CommandType = CommandType.StoredProcedure;
        cmdInsert.CommandText = "INSERTCONTRATO";

        da.InsertCommand = cmdInsert;

        //Seccion para eliminar 
        cmdDelete.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdDelete.Parameters.Add("@IdContratos", SqlDbType.Int, 4, "IdContratos");
        cmdDelete.CommandType = CommandType.StoredProcedure;
        cmdDelete.CommandText = "DELETECONTRATO";

        da.DeleteCommand = cmdDelete;

        if (ds.HasChanges())
        {
            da.Update(ds.Tables["Contratos"]);
        }
    }
    //metodo para Evaluacion
    [WebMethod(Description = "Metodo que se utiliza para Actualizar,Borrar e Insertar en la Tabla Evaluacion")]
    public void DatoEvaluacion(DataSet ds)
    {
        SqlDataAdapter da = new SqlDataAdapter();
        SqlCommand cmdUpdate = new SqlCommand();
        SqlCommand cmdInsert = new SqlCommand();
        SqlCommand cmdDelete = new SqlCommand();
        SqlConnection cn = new SqlConnection();
        cn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CN"].ConnectionString;
        cn.Open();



        //Seccion para actualizacion
        cmdUpdate.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdUpdate.Parameters.Add("@IdExpEvaluacion", SqlDbType.Int, 4, "IdExpEvaluacion");
        cmdUpdate.Parameters.Add("@Test", SqlDbType.VarChar, 30, "Test");
        cmdUpdate.Parameters.Add("@Resultado", SqlDbType.VarChar, 15, "Resultado");
        cmdUpdate.Parameters.Add("@Observacion", SqlDbType.VarChar, 60, "Observacion");
        cmdUpdate.Parameters.Add("@IdCandidato", SqlDbType.Int, 4, "IdCandidato");

        cmdUpdate.CommandType = CommandType.StoredProcedure;
        cmdUpdate.CommandText = "UPDATEEVALUACION";

        da.UpdateCommand = cmdUpdate;

        //Seccion para agregar 
        cmdInsert.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdInsert.Parameters.Add("@IdExpEvaluacion", SqlDbType.Int, 4, "IdExpEvaluacion");
        cmdInsert.Parameters.Add("@Test", SqlDbType.VarChar, 30, "Test");
        cmdInsert.Parameters.Add("@Resultado", SqlDbType.VarChar, 80, "Resultado");
        cmdInsert.Parameters.Add("@Observacion", SqlDbType.VarChar, 60, "Observacion");
        cmdInsert.Parameters.Add("@IdCandidato", SqlDbType.Int, 4, "IdCandidato");



        cmdInsert.CommandType = CommandType.StoredProcedure;
        cmdInsert.CommandText = "insertExpEvaluacion";

        da.InsertCommand = cmdInsert;

        //Seccion para eliminar 
        cmdDelete.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdDelete.Parameters.Add("@IdExpEvaluacion", SqlDbType.Int, 4, "IdExpEvaluacion");
        cmdDelete.CommandType = CommandType.StoredProcedure;
        cmdDelete.CommandText = "DELETEVALUACION";

        da.DeleteCommand = cmdDelete;

        if (ds.HasChanges())
        {
            da.Update(ds.Tables["ExpEvaluacion"]);
        }
    }
    //-----------------------------------------------------------------------------------------------------------

    /// <summary>
    /// Ingresa los datos del OutSourcing
    /// </summary>
    [WebMethod(Description = "Metodo que se utiliza para Actualizar,Borrar e Insertar en la Tabla Outsourcing")]
    public void DatoOutSourcing(DataSet ds)
    {
        SqlDataAdapter da = new SqlDataAdapter();
        SqlCommand cmdUpdate = new SqlCommand();
        SqlCommand cmdInsert = new SqlCommand();
        SqlCommand cmdDelete = new SqlCommand();
        SqlConnection cn = new SqlConnection();
        cn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CN"].ConnectionString;
        cn.Open();



        //Seccion para actualizacion
        cmdUpdate.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdUpdate.Parameters.Add("@IdOutsourcing", SqlDbType.Int, 4, "IdOutsourcing");
        cmdUpdate.Parameters.Add("@Nombre", SqlDbType.VarChar, 30, "Nombre");
        cmdUpdate.Parameters.Add("@NombreComercial", SqlDbType.VarChar, 80, "NombreComercial");
        cmdUpdate.Parameters.Add("@NoRegistro", SqlDbType.Char, 25, "NoRegistro");
        cmdUpdate.Parameters.Add("@CodigoTributario", SqlDbType.VarChar, 25, "CodigoTributario");
        cmdUpdate.Parameters.Add("@Giro", SqlDbType.VarChar, 125, "Giro");
        cmdUpdate.Parameters.Add("@Direccion", SqlDbType.VarChar, 125, "Direccion");
        cmdUpdate.Parameters.Add("@Telefono", SqlDbType.VarChar, 15, "Telefono");
        cmdUpdate.Parameters.Add("@Fax", SqlDbType.Char, 15, "Fax");
        cmdUpdate.Parameters.Add("@Contacto", SqlDbType.VarChar, 80, "Contacto");
        cmdUpdate.Parameters.Add("@www", SqlDbType.VarChar, 80, "WWW");
        cmdUpdate.Parameters.Add("@Descripcion", SqlDbType.VarChar, 100, "Descripcion");
        cmdUpdate.Parameters.Add("@Email", SqlDbType.VarChar, 30, "EMail");

        cmdUpdate.CommandType = CommandType.StoredProcedure;
        cmdUpdate.CommandText = "updateOUTSOURCING";

        da.UpdateCommand = cmdUpdate;

        //Seccion para agregar 
        cmdInsert.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdInsert.Parameters.Add("@IdOutsourcing", SqlDbType.Int, 4, "IdOutsourcing");
        cmdInsert.Parameters.Add("@Nombre", SqlDbType.VarChar, 30, "Nombre");
        cmdInsert.Parameters.Add("@NombreComercial", SqlDbType.VarChar, 80, "NombreComercial");
        cmdInsert.Parameters.Add("@NoRegistro", SqlDbType.Char, 25, "NoRegistro");
        cmdInsert.Parameters.Add("@CodigoTributario", SqlDbType.VarChar, 25, "CodigoTributario");
        cmdInsert.Parameters.Add("@Giro", SqlDbType.VarChar, 125, "Giro");
        cmdInsert.Parameters.Add("@Direccion", SqlDbType.VarChar, 125, "Direccion");
        cmdInsert.Parameters.Add("@Telefono", SqlDbType.VarChar, 15, "Telefono");
        cmdInsert.Parameters.Add("@Fax", SqlDbType.Char, 15, "Fax");
        cmdInsert.Parameters.Add("@Contacto", SqlDbType.VarChar, 80, "Contacto");
        cmdInsert.Parameters.Add("@www", SqlDbType.VarChar, 80, "WWW");
        cmdInsert.Parameters.Add("@Descripcion", SqlDbType.VarChar, 100, "Descripcion");
        cmdInsert.Parameters.Add("@Email", SqlDbType.VarChar, 30, "EMail");

        cmdInsert.CommandType = CommandType.StoredProcedure;
        cmdInsert.CommandText = "INSERTOUTSOURCING";

        da.InsertCommand = cmdInsert;

        //Seccion para eliminar 
        cmdDelete.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdDelete.Parameters.Add("@IdOutsourcing", SqlDbType.Int, 4, "IdOutsourcing");
        cmdDelete.CommandType = CommandType.StoredProcedure;
        cmdDelete.CommandText = "deleteOUTSOURCING";

        da.DeleteCommand = cmdDelete;

        if (ds.HasChanges())
        {
            da.Update(ds.Tables["Outsourcing"]);
        }
    }
    //---------------------------------------------------------------------------------------------------------------------
    [WebMethod(Description = "Metodo que se utiliza para Actualizar,Borrar e Insertar en la Tabla TiposContrato")]
    public void DatoTContrato(DataSet ds)
    {
        SqlDataAdapter da = new SqlDataAdapter();
        SqlCommand cmdUpdate = new SqlCommand();
        SqlCommand cmdInsert = new SqlCommand();
        SqlCommand cmdDelete = new SqlCommand();
        SqlConnection cn = new SqlConnection();
        cn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CN"].ConnectionString;
        cn.Open();



        //Seccion para actualizacion
        cmdUpdate.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdUpdate.Parameters.Add("@IdTiposContrato", SqlDbType.Int, 4, "IdTiposContrato");
        cmdUpdate.Parameters.Add("@Nombre", SqlDbType.VarChar, 30, "Nombre");


        cmdUpdate.CommandType = CommandType.StoredProcedure;
        cmdUpdate.CommandText = "updateTIPOCONTRATO";

        da.UpdateCommand = cmdUpdate;

        //Seccion para agregar 
        cmdInsert.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdInsert.Parameters.Add("@IdTiposContrato", SqlDbType.Int, 4, "IdTiposContrato");
        cmdInsert.Parameters.Add("@Nombre", SqlDbType.VarChar, 30, "Nombre");


        cmdInsert.CommandType = CommandType.StoredProcedure;
        cmdInsert.CommandText = "INSERTTIPOCONTRATO";

        da.InsertCommand = cmdInsert;

        //Seccion para eliminar 
        cmdDelete.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdDelete.Parameters.Add("@IdTiposContrato", SqlDbType.Int, 4, "IdTiposContrato");
        cmdDelete.CommandType = CommandType.StoredProcedure;
        cmdDelete.CommandText = "deleteTIPOCONTRATO";

        da.DeleteCommand = cmdDelete;

        if (ds.HasChanges())
        {
            da.Update(ds.Tables["TiposContrato"]);
        }
    }
    //---------------------------------------------------------------------------------------------------------------------
    [WebMethod(Description = "Metodo que se utiliza para Actualizar,Borrar e Insertar en la Tabla Ciudad")]
    public void DatoCiudad(DataSet ds)
    {
        SqlDataAdapter da = new SqlDataAdapter();
        SqlCommand cmdUpdate = new SqlCommand();
        SqlCommand cmdInsert = new SqlCommand();
        SqlCommand cmdDelete = new SqlCommand();
        SqlConnection cn = new SqlConnection();
        cn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CN"].ConnectionString;
        cn.Open();



        //Seccion para actualizacion
        cmdUpdate.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdUpdate.Parameters.Add("@IdCiudad", SqlDbType.Int, 4, "IdCiudad");
        cmdUpdate.Parameters.Add("@Nombre", SqlDbType.VarChar, 50, "Nombre");
        cmdUpdate.Parameters.Add("@IdPais", SqlDbType.Int, 4, "IdPais");


        cmdUpdate.CommandType = CommandType.StoredProcedure;
        cmdUpdate.CommandText = "updateciudad";

        da.UpdateCommand = cmdUpdate;

        //Seccion para agregar 
        cmdInsert.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdInsert.Parameters.Add("@IdCiudad", SqlDbType.Int, 4, "IdCiudad");
        cmdInsert.Parameters.Add("@Nombre", SqlDbType.VarChar, 50, "Nombre");
        cmdInsert.Parameters.Add("@IdPais", SqlDbType.Int, 4, "IdPais");



        cmdInsert.CommandType = CommandType.StoredProcedure;
        cmdInsert.CommandText = "insertciudad";

        da.InsertCommand = cmdInsert;


        //Seccion para eliminar 
        cmdDelete.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdDelete.Parameters.Add("@IdCiudad", SqlDbType.Int, 4, "IdCiudad");
        cmdDelete.CommandType = CommandType.StoredProcedure;
        cmdDelete.CommandText = "deleteCiudad";

        da.DeleteCommand = cmdDelete;

        if (ds.HasChanges())
        {
            da.Update(ds.Tables["Ciudad"]);
        }
    }
    //---------------------------------------------------------------------------------------------------------------------

    [WebMethod(Description = "Metodo que se utiliza para Actualizar,Borrar e Insertar en la Tabla Paises")]
    public void DatoPais(DataSet ds)
    {
        SqlDataAdapter da = new SqlDataAdapter();
        SqlCommand cmdUpdate = new SqlCommand();
        SqlCommand cmdInsert = new SqlCommand();
        SqlCommand cmdDelete = new SqlCommand();
        SqlConnection cn = new SqlConnection();
        cn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CN"].ConnectionString;
        cn.Open();



        //Seccion para actualizacion
        cmdUpdate.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdUpdate.Parameters.Add("@IdPais", SqlDbType.Int, 4, "IdPais");
        cmdUpdate.Parameters.Add("@Nombre", SqlDbType.VarChar, 50, "Nombre");
        cmdUpdate.Parameters.Add("@IdOutSourcing", SqlDbType.Int, 4, "IdOutSourcing");


        cmdUpdate.CommandType = CommandType.StoredProcedure;
        cmdUpdate.CommandText = "updatepaises";

        da.UpdateCommand = cmdUpdate;

        //Seccion para agregar 
        cmdInsert.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdInsert.Parameters.Add("@IdPais", SqlDbType.Int, 4, "IdPais");
        cmdInsert.Parameters.Add("@Nombre", SqlDbType.VarChar, 50, "Nombre");
        cmdInsert.Parameters.Add("@IdOutSourcing", SqlDbType.Int, 4, "IdOutSourcing");



        cmdInsert.CommandType = CommandType.StoredProcedure;
        cmdInsert.CommandText = "insertpaises";

        da.InsertCommand = cmdInsert;


        //Seccion para eliminar 
        cmdDelete.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdDelete.Parameters.Add("@IdPais", SqlDbType.Int, 4, "IdPais");
        cmdDelete.CommandType = CommandType.StoredProcedure;
        cmdDelete.CommandText = "DELETEPAIS";

        da.DeleteCommand = cmdDelete;

        if (ds.HasChanges())
        {
            da.Update(ds.Tables["Paises"]);
        }
    }

    //---------------------------------------------------------------------------------------------------------------------
    [WebMethod(Description = "Metodo que se utiliza para Actualizar,Borrar e Insertar en la Tabla Idiomas")]
    public void DatoIdiomas(DataSet ds)
    {
        SqlDataAdapter da = new SqlDataAdapter();
        SqlCommand cmdUpdate = new SqlCommand();
        SqlCommand cmdInsert = new SqlCommand();
        SqlCommand cmdDelete = new SqlCommand();
        SqlConnection cn = new SqlConnection();
        cn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CN"].ConnectionString;
        cn.Open();



        //Seccion para actualizacion
        cmdUpdate.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdUpdate.Parameters.Add("@IdIdioma", SqlDbType.Int, 4, "IdIdioma");
        cmdUpdate.Parameters.Add("@NombreIdiomas", SqlDbType.VarChar, 50, "NombreIdiomas");
        cmdUpdate.Parameters.Add("@Nivel", SqlDbType.VarChar, 15, "Nivel");


        cmdUpdate.CommandType = CommandType.StoredProcedure;
        cmdUpdate.CommandText = "UPDATEIdiomas";

        da.UpdateCommand = cmdUpdate;

        //Seccion para agregar 
        cmdInsert.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdInsert.Parameters.Add("@IdIdioma", SqlDbType.Int, 4, "IdIdioma");
        cmdInsert.Parameters.Add("@NombreIdiomas", SqlDbType.VarChar, 50, "NombreIdiomas");
        cmdInsert.Parameters.Add("@Nivel", SqlDbType.VarChar, 50, "Nivel");



        cmdInsert.CommandType = CommandType.StoredProcedure;
        cmdInsert.CommandText = "insertIdiomas";

        da.InsertCommand = cmdInsert;


        //Seccion para eliminar 
        cmdDelete.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdDelete.Parameters.Add("@IdIdioma", SqlDbType.Int, 4, "IdIdioma");
        cmdDelete.CommandType = CommandType.StoredProcedure;
        cmdDelete.CommandText = "DELETEIDIOMA";

        da.DeleteCommand = cmdDelete;

        if (ds.HasChanges())
        {
            da.Update(ds.Tables["Idiomas"]);
        }
    }
    //------------------------------------------


    //---------------------------------------------------------------------------------------------------------------------
    [WebMethod(Description = "Metodo que se utiliza para Actualizar,Borrar e Insertar en la Tabla TipoIndustria")]
    public void DatoTipoIndustria(DataSet ds)
    {
        SqlDataAdapter da = new SqlDataAdapter();
        SqlCommand cmdUpdate = new SqlCommand();
        SqlCommand cmdInsert = new SqlCommand();
        SqlCommand cmdDelete = new SqlCommand();
        SqlConnection cn = new SqlConnection();
        cn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CN"].ConnectionString;
        cn.Open();



        //Seccion para actualizacion
        cmdUpdate.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdUpdate.Parameters.Add("@IdIndustria", SqlDbType.Int, 4, "IdIndustria");
        cmdUpdate.Parameters.Add("@Nombre", SqlDbType.VarChar, 80, "Nombre");



        cmdUpdate.CommandType = CommandType.StoredProcedure;
        cmdUpdate.CommandText = "UPDATETIPOSINDUSTRIA";

        da.UpdateCommand = cmdUpdate;

        //Seccion para agregar 
        cmdInsert.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdInsert.Parameters.Add("@IdIndustria", SqlDbType.Int, 4, "IdIndustria");
        cmdInsert.Parameters.Add("@Nombre", SqlDbType.VarChar, 50, "Nombre");




        cmdInsert.CommandType = CommandType.StoredProcedure;
        cmdInsert.CommandText = "insertTiposIndustrias";

        da.InsertCommand = cmdInsert;


        //Seccion para eliminar 
        cmdDelete.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdDelete.Parameters.Add("@IdIndustria", SqlDbType.Int, 4, "IdIndustria");
        cmdDelete.CommandType = CommandType.StoredProcedure;
        cmdDelete.CommandText = "DELETETIPOSINDUSTRIA";

        da.DeleteCommand = cmdDelete;

        if (ds.HasChanges())
        {
            da.Update(ds.Tables["TiposIndustria"]);
        }
    }
    [WebMethod(Description = "Metodo que se utiliza para Actualizar,Borrar e Insertar en la Tabla Perfiles")]
    public void DatoPerfil(DataSet ds)
    {
        SqlDataAdapter da = new SqlDataAdapter();
        SqlCommand cmdUpdate = new SqlCommand();
        SqlCommand cmdInsert = new SqlCommand();
        SqlCommand cmdDelete = new SqlCommand();
        SqlConnection cn = new SqlConnection();
        cn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CN"].ConnectionString;
        cn.Open();


        //Seccion para actualizacion
        cmdUpdate.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdUpdate.Parameters.Add("@IdPerfiles", SqlDbType.Int, 4, "IdPerfiles");
        cmdUpdate.Parameters.Add("@Descripcion", SqlDbType.VarChar, 30, "Descripcion");
        cmdUpdate.Parameters.Add("@IdOutsourcing", SqlDbType.Int, 4, "IdOutsourcing");

        cmdUpdate.CommandType = CommandType.StoredProcedure;
        cmdUpdate.CommandText = "UPDATEPERFILES";

        da.UpdateCommand = cmdUpdate;

        //Seccion para agregar 
        cmdInsert.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdInsert.Parameters.Add("@IdPerfiles", SqlDbType.Int, 4, "IdPerfiles");
        cmdInsert.Parameters.Add("@Descripcion", SqlDbType.VarChar, 30, "Descripcion");
        cmdInsert.Parameters.Add("@IdOutsourcing", SqlDbType.Int, 4, "IdOutsourcing");

        cmdInsert.CommandType = CommandType.StoredProcedure;
        cmdInsert.CommandText = "INSERTPERFILES";

        da.InsertCommand = cmdInsert;

        //Seccion para eliminar 
        cmdDelete.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdDelete.Parameters.Add("@IdPerfiles", SqlDbType.Int, 4, "IdPerfiles");
        cmdDelete.CommandType = CommandType.StoredProcedure;
        cmdDelete.CommandText = "DELETEPERFILES";

        da.DeleteCommand = cmdDelete;

        if (ds.HasChanges())
        {
            da.Update(ds.Tables["Perfiles"]);
        }
    }
    //--------------------------------------------------------------------------------------------------------
    [WebMethod(Description = "Metodo que se utiliza para Actualizar,Borrar e Insertar en la Tabla Areas")]
    public void DatoArea(DataSet ds)
    {
        SqlDataAdapter da = new SqlDataAdapter();
        SqlCommand cmdUpdate = new SqlCommand();
        SqlCommand cmdInsert = new SqlCommand();
        SqlCommand cmdDelete = new SqlCommand();
        SqlConnection cn = new SqlConnection();
        cn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CN"].ConnectionString;
        cn.Open();



        //Seccion para actualizacion
        cmdUpdate.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdUpdate.Parameters.Add("@IdArea", SqlDbType.Int, 4, "IdArea");
        cmdUpdate.Parameters.Add("@Nombre", SqlDbType.VarChar, 30, "Nombre");
        cmdUpdate.Parameters.Add("@IdOutsourcing", SqlDbType.Int, 4, "IdOutsourcing");

        cmdUpdate.CommandType = CommandType.StoredProcedure;
        cmdUpdate.CommandText = "UPDATEAREAS";

        da.UpdateCommand = cmdUpdate;

        //Seccion para agregar 
        cmdInsert.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdInsert.Parameters.Add("@IdArea", SqlDbType.Int, 4, "IdArea");
        cmdInsert.Parameters.Add("@Nombre", SqlDbType.VarChar, 30, "Nombre");
        cmdInsert.Parameters.Add("@IdOutsourcing", SqlDbType.Int, 4, "IdOutsourcing");

        cmdInsert.CommandType = CommandType.StoredProcedure;
        cmdInsert.CommandText = "INSERTAREAS";

        da.InsertCommand = cmdInsert;

        //Seccion para eliminar 
        cmdDelete.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdDelete.Parameters.Add("@IdArea", SqlDbType.Int, 4, "IdArea");
        cmdDelete.CommandType = CommandType.StoredProcedure;
        cmdDelete.CommandText = "DELETEAREAS";

        da.DeleteCommand = cmdDelete;

        if (ds.HasChanges())
        {
            da.Update(ds.Tables["Areas"]);
        }
    }
    //---------------------------------------------------------------------------------------------------------------------
    [WebMethod(Description = "Metodo que se utiliza para Consultar la OutSourcing")]
    public DataSet ConsultaOutSourcing()
    {
        DataSet ds = new DataSet();
        SqlConnection cn = new SqlConnection();
        cn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CN"].ConnectionString;
        cn.Open();
        SqlDataAdapter da = new SqlDataAdapter();

        SqlCommand cmd = new SqlCommand();
        cmd.Connection = cn;

        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "SELECTOUTSOURCING";
        da.SelectCommand = cmd;

        //Construir un datatable en el dataset
        ds.Tables.Add("Outsourcing");
        //Agregar columnas al data table
        ds.Tables["Outsourcing"].Columns.Add("IdOutsourcing", typeof(int));
        ds.Tables["Outsourcing"].Columns.Add("Nombre", typeof(string));
        ds.Tables["Outsourcing"].Columns.Add("NombreComercial", typeof(string));
        ds.Tables["Outsourcing"].Columns.Add("NoRegistro", typeof(string));
        ds.Tables["Outsourcing"].Columns.Add("CodigoTributario", typeof(string));
        ds.Tables["Outsourcing"].Columns.Add("Giro", typeof(string));
        ds.Tables["Outsourcing"].Columns.Add("Direccion", typeof(string));
        ds.Tables["Outsourcing"].Columns.Add("Telefono", typeof(string));
        ds.Tables["Outsourcing"].Columns.Add("Fax", typeof(string));
        ds.Tables["Outsourcing"].Columns.Add("Contacto", typeof(string));
        ds.Tables["Outsourcing"].Columns.Add("WWW", typeof(string));
        ds.Tables["Outsourcing"].Columns.Add("Descripcion", typeof(string));
        ds.Tables["Outsourcing"].Columns.Add("EMail", typeof(string));
        //Llenar el datatable
        da.Fill(ds.Tables["Outsourcing"]);

        //llena tabla contrato----------------------------------------------------

        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "SELECTCONTRATOS";
        da.SelectCommand = cmd;
        //Construir un datatable en el dataset

        ds.Tables.Add("Contratos");
        //Agregar columnas al data table
        ds.Tables["Contratos"].Columns.Add("IdContratos", typeof(int));
        ds.Tables["Contratos"].Columns.Add("Cargo", typeof(string));
        ds.Tables["Contratos"].Columns.Add("TipoTrabajo", typeof(string));
        ds.Tables["Contratos"].Columns.Add("CodigoContrato", typeof(int));
        ds.Tables["Contratos"].Columns.Add("MontoContrato", typeof(float));
        ds.Tables["Contratos"].Columns.Add("FechaInicio", typeof(string));
        ds.Tables["Contratos"].Columns.Add("FechaFinal", typeof(string));
        ds.Tables["Contratos"].Columns.Add("IdOutsourcing", typeof(int));
        ds.Tables["Contratos"].Columns.Add("IdTiposContrato", typeof(int));

        //Llenar el datatable
        da.Fill(ds.Tables["Contratos"]);

        //llena tabla TiposContrato----------------------------------------------------

        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "SELECTTIPOCONTRATO";
        da.SelectCommand = cmd;
        //Construir un datatable en el dataset
        ds.Tables.Add("TiposContrato");
        //Agregar columnas al data table
        ds.Tables["TiposContrato"].Columns.Add("IdTiposContrato", typeof(int));
        ds.Tables["TiposContrato"].Columns.Add("Nombre", typeof(string));

        //Llenar el datatable
        da.Fill(ds.Tables["TiposContrato"]);


        //llena tabla ExpEvaluacion----------------------------------------------------

        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "SELECTEXPEVALUACION";
        da.SelectCommand = cmd;
        //Construir un datatable en el dataset

        ds.Tables.Add("ExpEvaluacion");
        //Agregar columnas al data table
        ds.Tables["ExpEvaluacion"].Columns.Add("IdExpEvaluacion", typeof(int));
        ds.Tables["ExpEvaluacion"].Columns.Add("Test", typeof(string));
        ds.Tables["ExpEvaluacion"].Columns.Add("Resultado", typeof(string));
        ds.Tables["ExpEvaluacion"].Columns.Add("Observacion", typeof(string));
        ds.Tables["ExpEvaluacion"].Columns.Add("IdCandidato", typeof(int));


        //Llenar el datatable
        da.Fill(ds.Tables["ExpEvaluacion"]);

        //llena tabla Perfiles----------------------------------------------------

        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "SELECTPERFILES";
        da.SelectCommand = cmd;
        //Construir un datatable en el dataset
        ds.Tables.Add("Perfiles");
        //Agregar columnas al data table
        ds.Tables["Perfiles"].Columns.Add("IdPerfiles", typeof(int));
        ds.Tables["Perfiles"].Columns.Add("Descripcion", typeof(string));
        ds.Tables["Perfiles"].Columns.Add("IdOutsourcing", typeof(string));

        //Llenar el datatable
        da.Fill(ds.Tables["Perfiles"]);

        //-------------------------------------------------



        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "SELECTCIUDAD";
        da.SelectCommand = cmd;
        //Construir un datatable en el dataset
        ds.Tables.Add("Ciudad");
        //Agregar columnas al data table
        ds.Tables["Ciudad"].Columns.Add("IdCiudad", typeof(int));
        ds.Tables["Ciudad"].Columns.Add("Nombre", typeof(string));
        ds.Tables["Ciudad"].Columns.Add("IdPais", typeof(int));

        //Llenar el datatable
        da.Fill(ds.Tables["Ciudad"]);

        //--------------------------------------


        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "SELECTPAIS";
        da.SelectCommand = cmd;
        //Construir un datatable en el dataset
        ds.Tables.Add("Paises");
        //Agregar columnas al data table
        ds.Tables["Paises"].Columns.Add("IdPais", typeof(int));
        ds.Tables["Paises"].Columns.Add("Nombre", typeof(string));
        ds.Tables["Paises"].Columns.Add("IdOutsourcing", typeof(int));

        //Llenar el datatable
        da.Fill(ds.Tables["Paises"]);


        //--------------------------------------


        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "SELECTIDIOMAS";
        da.SelectCommand = cmd;
        //Construir un datatable en el dataset
        ds.Tables.Add("Idiomas");
        //Agregar columnas al data table
        ds.Tables["Idiomas"].Columns.Add("IdIdioma", typeof(int));
        ds.Tables["Idiomas"].Columns.Add("NombreIdiomas", typeof(string));
        ds.Tables["Idiomas"].Columns.Add("Nivel", typeof(string));

        //Llenar el datatable
        da.Fill(ds.Tables["Idiomas"]);

        //--------------------------------------


        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "SELECTTIPOINDUSTRIA";
        da.SelectCommand = cmd;
        //Construir un datatable en el dataset
        ds.Tables.Add("TiposIndustria");
        //Agregar columnas al data table
        ds.Tables["TiposIndustria"].Columns.Add("IdIndustria", typeof(int));
        ds.Tables["TiposIndustria"].Columns.Add("Nombre", typeof(string));


        //Llenar el datatable
        da.Fill(ds.Tables["TiposIndustria"]);

        //--------------------------------------


        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "selectareas";
        da.SelectCommand = cmd;
        //Construir un datatable en el dataset
        ds.Tables.Add("Areas");
        //Agregar columnas al data table
        ds.Tables["Areas"].Columns.Add("IdArea", typeof(int));
        ds.Tables["Areas"].Columns.Add("Nombre", typeof(string));
        ds.Tables["Areas"].Columns.Add("IdOutsourcing", typeof(int));

        //Llenar el datatable
        da.Fill(ds.Tables["Areas"]);

        return ds;
    }


}
